"""
宿舍内务计算
宿舍内务根据难度分为几个等级，每完成一项任务就可以累计对应等级的分数。等级和分数对应关系如下：
1级：擦桌子、椅子、窗户 - 对应1分
2级：扫地、拖地 - 对应2分
3级：扫厕所 - 对应3分
4级：帮全宿舍打饭 - 对应4分
5级：帮全宿舍签到 - 对应5分

编写一个Python程序，先读取“宿舍老大的内务记录.txt”文件，获取所有已填写的信息（字典格式），文件不存在则创建空字典用于记录
然后让用户输入自己完成的宿舍内务任务和完成次数。
将信息存储到字典中，以：{任务: 次数} 的格式存储，如果任务已经存在则累加次数，如果任务不存在则添加新的任务。
将任务记录更新到 “宿舍老大的内务记录.txt” 文件中，统计并显示用户总共完成每项任务的次数和总分。
程序结束

编程思路提示：
实现步骤：try方式读取文件 - eval转换为字典 - 接收用户输入 - 更新字典次数 - 计算分数 - str方式转换字典为字符串 - 保存到文件
使用with open来操作文件。
读取文件时，将字符串转换回字典，用 eval 函数。
写入文件前，将字典转换为字符串，用 str 函数。
任务和分数的对应字典用：
    task_scores = {'擦桌子': 1, '擦椅子': 1, '擦窗户': 1, '扫地': 2, '拖地': 2, '扫厕所': 3, '帮全宿舍打饭': 4, '帮全宿舍签到': 5}
"""
from importlib.metadata import files
from logging import exception

task_scores = {'擦桌子': 1, '擦椅子': 1, '擦窗户': 1, '扫地': 2, '拖地': 2, '扫厕所': 3, '帮全宿舍打饭': 4, '帮全宿舍签到': 5}


def main():
    try:
        path="d:\\新建文本文档.txt"
        file=open('path','r',encoding='utf-8')
        dic=eval(file.read())
        file.close()
    except Exception as E:
        dic={}
    job=input("你做了啥")
    times=int(input("几次"))
    if job in dic:
        dic[job]=dic.get(job)+times
    else:
        dic[job]=times
    with open(path,'w',encoding='utf-8') as wf:
        wf.write(str(dic))
    total=0
    for j,t in dic.items():
        print("老大的各项工作累计情况：")
        print(f"{j}:{t}")
        j_score=task_scores.get(j)
        j_total=j_score*t
        total+=j_total
        print(f"老大你的总分是：{total}")





if __name__ == '__main__':
    main()
